package xin.marcher.module.construction.domain.request;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 新增/编辑规格请求入参
 */
@Data
public class AttributeRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 规格键信息
     */
    private AttributeKeyRequest attributeKeyRequest;

    /**
     * 规格值信息
     */
    private List<AttributeValueRequest> attributeValueRequests;

    /**
     * 操作人
     */
    @NotNull(message = "操作人[operateUser]不能为空")
    private Integer operateUser;


    @Data
    public static class AttributeKeyRequest implements Serializable {

        /**
         * 属性key编码
         */
        private String keyCode;

        /**
         * 属性key名称
         */
        private String keyName;

        /**
         * 扩展字段
         */
        private String features;

        /**
         * 排序
         */
        private Integer keySort;

        /**
         * 删除标记（1-有效，0-删除）
         */
        private Integer delFlag;

    }

    @Data
    public static class AttributeValueRequest implements Serializable {

        /**
         * 属性key编码
         */
        private String keyCode;

        /**
         * 属性value名称
         */
        private String valueName;

        /**
         * 扩展字段
         */
        private String features;

        /**
         * 排序
         */
        private Integer valueSort;

        /**
         * 删除标记（1-有效，0-删除）
         */
        private Integer delFlag;

    }
}